腾讯云 OCR+Python=王炸!这个发票识别技能太香了

大家好,我是正在实战各种 AI 项目的程序员晚枫。


🃏 我手里的两张王牌

第一张牌:腾讯云 OCR

  • 业界领先的文字识别技术
  • 支持 200+ 场景识别
  • 准确率 98%+
  • 每月 1000 次免费额度

第二张牌:Python

  • 最简单的编程语言
  • 丰富的生态库
  • 几行代码搞定复杂任务
  • 办公自动化首选

单独用:都不错。

合在一起:王炸。


🎯 这个技能有多香?

技能名称poocr-vatinvoice2excel

ClawHub 地址https://clawhub.ai/CoderWanFeng/poocr-vatinvoice2excel

一句话描述:用 Python 调用腾讯云 OCR,自动识别发票并导出 Excel。

效果预览

1
2
3
4
5
6
7
8
9
输入:100 张发票(PDF/图片混合格式)

poocr 库处理

输出:1 个 Excel 文件(所有发票信息整齐排列)

耗时:3 分钟

你:喝咖啡看剧

这感觉,谁用谁知道。


📦 为什么是腾讯云 OCR?

我试过好几家 OCR 服务:

服务商准确率价格免费额度评价
百度 OCR95%中等500 次/天不错
阿里 OCR96%偏高200 次/月
腾讯 OCR98%1000 次/月真香
讯飞 OCR97%中等500 次/月可以

选择腾讯云的理由

  1. 准确率高:发票识别 98%+,字段提取完整
  2. 价格便宜:超出免费额度后 0.035 元/次
  3. 免费额度多:1000 次/月,小公司够用
  4. 文档完善:示例代码多,踩坑少
  5. 稳定性好:大厂服务,不掉链子

关键是:poocr 库就是基于腾讯云 OCR 开发的,专为发票场景优化。


🛠️ 上手教程(从 0 到 1)

第一步:安装 poocr 库

1
pip install poocr

就一行,不用配置环境,不用编译依赖。

第二步:获取腾讯云密钥

访问:https://curl.qcloud.com/9ExTmaya

步骤

  1. 注册/登录腾讯云账号
  2. 搜索"文字识别"
  3. 进入控制台
  4. 左侧菜单:密钥管理
  5. 点击"新建密钥"
  6. 保存 SecretId 和 SecretKey(别泄露!)

免费开通:不需要绑定信用卡,注册就有免费额度。

第三步:写代码(真的就几行)

单张发票识别

1
2
3
4
5
6
7
8
9
10
import poocr

poocr.ocr2excel.VatInvoiceOCR2Excel(
input_path='invoice.pdf', # 发票文件路径
output_path='./output', # 输出目录
id='你的 SecretId', # 腾讯云 SecretId
key='你的 SecretKey' # 腾讯云 SecretKey
)

print("识别完成!")

运行

1
python recognize.py

输出

1
2
识别完成!
发票识别完成,结果已保存到:./output/发票识别结果.xlsx

打开 Excel

发票代码发票号码开票日期金额税额价税合计购买方销售方
011002100113123456782026-03-151000.00130.001130.00XX 公司YY 公司

整整齐齐,直接能用。

第四步:批量识别(这才是大招)

1
2
3
4
5
6
7
8
9
10
import poocr

poocr.ocr2excel.VatInvoiceOCR2Excel(
input_path='./invoices', # 文件夹路径(放 100 张发票)
output_path='./output', # 输出目录
id='你的 SecretId',
key='你的 SecretKey'
)

print("批量识别完成!")

效果

  • 自动遍历文件夹里所有发票文件
  • 支持 PDF、JPG、PNG 混合格式
  • 识别结果合并到一个 Excel
  • 每张发票一行,字段对齐

100 张发票:3 分钟搞定。


💼 真实使用场景

场景 1:财务报销

痛点

  • 员工交一堆发票
  • 财务手工录入
  • 月底加班到深夜

解决方案

1
2
3
4
5
6
7
# 每月运行一次
poocr.ocr2excel.VatInvoiceOCR2Excel(
input_path='./reimbursement/2026-03',
output_path='./output/2026-03',
id=SECRET_ID,
key=SECRET_KEY
)

效果:从 10 小时 → 10 分钟。

场景 2:税务申报

痛点

  • 进项票、销项票分开整理
  • 手动汇总数据
  • 填写申报表

解决方案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 进项票
poocr.ocr2excel.VatInvoiceOCR2Excel(
input_path='./input_invoices',
output_path='./tax/input',
id=SECRET_ID,
key=SECRET_KEY
)

# 销项票
poocr.ocr2excel.VatInvoiceOCR2Excel(
input_path='./output_invoices',
output_path='./tax/output',
id=SECRET_ID,
key=SECRET_KEY
)

效果:申报时间从 1 天 → 1 小时。

场景 3:审计分析

痛点

  • 抽查发票,样本量有限
  • 手动核对,容易遗漏
  • 问题发票难发现

解决方案

1
2
3
4
5
6
7
8
9
10
# 全量识别
poocr.ocr2excel.VatInvoiceOCR2Excel(
input_path='./audit/2025',
output_path='./audit/result',
id=SECRET_ID,
key=SECRET_KEY
)

# 然后用 Excel 筛选异常数据
# 比如:金额过大、重复发票、异常供应商

效果:审计覆盖率从 10% → 100%。

场景 4:外包赚钱

痛点

  • 接发票录入外包单
  • 雇人手工录,成本高
  • 利润薄

解决方案

1
2
3
4
5
6
7
8
# 批量处理客户发票
for customer in customers:
poocr.ocr2excel.VatInvoiceOCR2Excel(
input_path=f'./customers/{customer}/invoices',
output_path=f'./customers/{customer}/result',
id=SECRET_ID,
key=SECRET_KEY
)

效果:成本从 70% → 5%,利润率提升 5 倍。

一个朋友实测:用这个技能接外包,一个月多赚 2 万。


📊 成本核算(帮你算笔账)

腾讯云 OCR 定价

  • 免费额度:1000 次/月
  • 超出后:0.035 元/次

场景 1:小公司(每月 500 张发票)

1
2
3
费用:0 元(在免费额度内)
节省人工:500 张 × 2 分钟 × 50 元/小时 = 833 元
净收益:833 元/月

场景 2:中公司(每月 3000 张发票)

1
2
3
4
5
免费额度:1000 次 → 0 元
超出部分:2000 次 × 0.035 元 = 70 元
总成本:70 元/月
节省人工:3000 张 × 2 分钟 × 50 元/小时 = 5000 元
净收益:5000 - 70 = 4930 元/月

场景 3:外包公司(每月 10000 张发票)

1
2
3
4
5
免费额度:1000 次 → 0 元
超出部分:9000 次 × 0.035 元 = 315 元
总成本:315 元/月
节省人工:10000 张 × 2 分钟 × 50 元/小时 = 16667 元
净收益:16667 - 315 = 16352 元/月

这就是技术的杠杆效应:一次开发,持续收益。


⚠️ 注意事项(避坑指南)

1. 密钥安全

不要

1
2
3
# ❌ 硬编码在代码里
id = 'AKIDxxxxxxxx'
key = 'xxxxxxxxxxxxxxxx'

1
2
3
4
# ✅ 用环境变量
import os
id = os.getenv('TENCENT_SECRET_ID')
key = os.getenv('TENCENT_SECRET_KEY')

或者用配置文件

1
2
3
4
5
6
# config.py
SECRET_ID = 'AKIDxxxxxxxx'
SECRET_KEY = 'xxxxxxxxxxxxxxxx'

# .gitignore
config.py

2. 图片质量

影响识别准确率的因素

  • 光线:太暗识别率低
  • 角度:倾斜超过 30 度可能失败
  • 清晰度:模糊的发票识别困难
  • 反光:拍照反光会遮挡文字

建议

  • 优先用 PDF 电子版
  • 拍照时用扫描全能王等 APP
  • 确保发票平整、光线充足

3. 网络环境

需要联网:调用腾讯云 API 需要网络。

公司内网:可能需要配置代理。

批量处理:建议分小批次,避免网络超时。

4. 异常处理

建议添加异常处理

1
2
3
4
5
try:
poocr.ocr2excel.VatInvoiceOCR2Excel(...)
except Exception as e:
print(f"识别失败:{e}")
# 记录日志,后续手动处理

🎯 适合人群

强烈推荐

  • ✅ 财务人员(告别加班)
  • ✅ 开发者(提升技能)
  • ✅ 外包团队(增加利润)
  • ✅ 企业主(降本增效)
  • ✅ 学生(学习实战项目)

可以考虑

  • ⭐ 个体户(处理自己的发票)
  • ⭐ 自由职业者(报销用)

不适合

  • ❌ 每月几张发票的个人(手动更快)
  • ❌ 完全不想学新工具的人

📚 相关资源

技能地址

腾讯云 OCR

poocr 库

  • 安装:pip install poocr
  • 示例:技能页面有完整代码

💬 联系我

平台账号/链接
微信扫码加好友
微博@程序员晚枫
知乎@程序员晚枫
抖音@程序员晚枫
小红书@程序员晚枫
B 站Python 自动化办公社区

主营业务:AI 编程培训、企业内训、技术咨询


🎓 推荐课程


腾讯云 OCR + Python = 王炸组合。

这个组合能做的,远不止发票识别:

  • 身份证识别
  • 营业执照识别
  • 银行卡识别
  • 表格识别
  • 通用文字识别

一个技能,解锁无数可能。

你,准备好出牌了吗? 🃏


P.S. 有朋友问:学这个能找工作吗?

我说:不能直接找工作,但能让你在工作中不可替代。

这才是学习的真正意义。

🎓 AI 编程实战课程

想系统学习 AI 编程?程序员晚枫的 AI 编程实战课 帮你从零上手!